<?php
/**
    Esta p�gina ser� utilizada para realizar as opera��es de cadastro, altera��o e remo��o de uma Reserva no banco de dados.
    A diferencia��o destas opera��es ser� feita pelo par�metro operacao que ser� informado via GET.
    C�digo 1: Cadastro
    C�digo 2: Altera��o
    C�digo 3: Remo��o
    Exibe ao fim o resultado das opera��es para o usu�rio.
*/

if(!isset($_SESSION))
{
   session_start();
}

if( isset( $_SESSION['servidorPerfil'] )) // valida��o para verificar se o usu�rio que tentou acessar a p�gina possui privil�gios para isso
{
    if( $_SESSION['servidorPerfil'] != 0 and $_SESSION['servidorPerfil'] != 2 )
    {
        $_SESSION['mensagem'] = "Voc� n�o tem permiss�o para acessar a p�gina requerida.";
        header("Location: Erro.php");
    }
}

else if( isset( $_SESSION['servidorPerfil'] ) == false ) // valida��o para verificar se o usu�rio que tentou acessar a p�gina est� logado
{
        $_SESSION['mensagem'] = "Para acessar esta p�gina voc� precisa estar logado.";
        header("Location: index.php");
}

if( !function_exists('__autoload') )
{
    function __autoload($class_name) {
    require_once $class_name . '.php';
    }
}

/**
      Tira a mascara do valor para poder salvar no banco de dados
      @valorFonte - valor mascarado da fonte
      @return - Retorna uma string com o valor da fonte sem as mascaras de formata��o.
      */

function TirarFormatacaoValor( $valorFonte )
{
   	$valorSemPonto = "";
   	$valorSemVirgula = ""; 
   	$valorSemFormato = "";
   	$vlr = "";
	$valorSemPonto = explode(".",$valorFonte);
	for($i=0;$i<count($valorSemPonto);$i++)
	$vlr .= $valorSemPonto[$i];
		
	$valorSemVirgula = explode(",",$vlr);
	for($i=0;$i<count($valorSemVirgula);$i++)
	$valorSemFormato .= $valorSemVirgula[$i];
	return $valorSemFormato;
      	
}

function TirarFormatacaoProcesso($numProcesso){
	return str_replace(array(".", "/", "-"), "", $numProcesso);
}

if( isset( $_GET['operacao'] ) )
{
	/** Cadastra um objeto rateio no banco de dados.
	 * @POST['campiId']  	 - Identificador unico do objeto Campus no Banco de Dados
	 * @POST['tipoDespesa']  - tipo de despesa da fonte 
	 * @POST['fonteId'] - codigo da fonte de recurso
	 * @POST['valorRateio']   - valor do Rateio
	 */
    if( $_GET['operacao'] == 1 )
    { 
			// dados do formulario vindos de CadastrarRateio.php
			$tabela = 0;
                        $tabelaInicial =0;
			$campo = 0;                        
                        $totalRegistros = $_POST['totReg0'];
                        for($i=0;$i<$totalRegistros;$i++)
                        {
                            if( isset($_POST["numeroNotaEmpenho-$i-$campo"]))
                            {
                                $tabelaInicial = $i;
                                break;
                            }
                        }
			//$empenhos[];
			//$notasEmpenho[];                        
    		while(isset($_POST["numeroNotaEmpenho-$tabelaInicial-$campo"])){
    			$reservas[$tabelaInicial] = new Empenho();
    		    $reserva = new Reserva();
    			$reservas[$tabelaInicial]->reserva = $reserva->CarregarReserva($_POST['reservaId'.$tabelaInicial]);    			
    			$reservas[$tabelaInicial]->numNotaEmpenho = $_POST['numeroNotaEmpenho'.$tabelaInicial];
    			$reservas[$tabelaInicial]->valorEmpenho = $_POST['valorNotaEmpenho'.$tabelaInicial];
				$reservas[$tabelaInicial]->situacao = "E";
				$reservas[$tabelaInicial]->srp = "N";    			    			
                                
    			while(isset($_POST["numeroNotaEmpenho-$tabelaInicial-$campo"])){
    				    				
    				$reservas[$tabelaInicial]->numNotaEmpenho = $_POST["numeroNotaEmpenho-$tabelaInicial-$campo"];    				
    				$reservas[$tabelaInicial]->valorEmpenho = TirarFormatacaoValor($_POST["valorNotaEmpenho-$tabelaInicial-$campo"]); 
    				$f = new Fornecedor();    				    				
    				$reservas[$tabelaInicial]->fornecedor = $f->CarregarFornecedor($_POST["fornecedorNotaEmpenho-$tabelaInicial-$campo"]);
                                
    				$resultadoSql = $reservas[$tabelaInicial]->Salvar();
    			   $reservas[$tabelaInicial]->reserva->situacao = "E";
    			   $reservas[$tabelaInicial]->reserva->AlterarReserva();   				
    				$campo++;
    			}
    			
    			$tabelaInicial++;
    			$campo = 0;
    		}
    		
				if( $resultadoSql ) # caso a opera��o de inser��o no banco seja efetuada com sucesso entra aqui
				{
					$titleHtml = "SAEO - Empenho cadastrado com sucesso";
					$cabecalhoHtml = "EMPENHO CADASTRADA COM SUCESSO";
					$informacaoHtml = "Sucesso no cadastro da Empenho.<br />";
				}
				else # tratar falhas na inser��o aqui
				{
					$titleHtml = "SAEO - Problema no cadastro do Emepenho";
					$cabecalhoHtml = "FALHA NO CADASTRO DO EMPENHO";
					$informacaoHtml = "Problema no cadastro do Empenho: ".mysql_error()."
                 <br>Por favor tente mais tarde!";
				}

			
            
    
    }
   
	/** Altera um objeto fonte no banco de dados.
	 * @POST['programaId']  	 - Identificador unico do objeto Programa no Banco de Dados
	 * @POST['tipoDespesa']  	 - tipo de despesa da fonte 
	 * @POST['fonteRecurso'] 	 - codigo da fonte de recurso
	 * @POST['valorFonte']   	 - valor da fonte
	 */    
    else if( $_GET['operacao'] == 2 )
    {
             $resultadoSql= $res; 
    	
            if( $resultadoSql ) # caso a opera��o de inser��o no banco seja efetuada com sucesso entra aqui
            {
                $titleHtml = "SAEO - Rateio alterado com sucesso";
                $cabecalhoHtml = "RATEIO ALTERADO COM SUCESSO";
                $informacaoHtml = "Sucesso na altera&ccedil;&atilde;o do rateio.";
            }
            else # tratar falhas na inser��o aqui
            {
                $titleHtml = "SAEO - Problema na altera&ccedil;&atilde;o do Rateio";
                $cabecalhoHtml = "FALHA NA ALTERA&Ccedil;&Atilde;O DO RATEIO";
                $informacaoHtml ="Problema na altera&ccedil;&atilde;o do Rateio: ".mysql_error()."
                 <br>Por favor tente mais tarde!";
            }
    }
    
    /** Remove um objeto rateio no banco de dados.
	 * @POST['fonteId'] - Identificador único do objeto setor no Banco de Dados
	 */
    else if( $_GET['operacao'] == 3 )
    {
    	$empenho = new Empenho();
    
		if(isset($_POST['processo']))
		{
			$reservas = $empenho->CarregarEmpenhoPorProcesso($_POST['processo']);	
		}else if(isset($_POST['notaEmpenho'])){
			$reservas = $empenho->CarregarEmpenhoPorNotaEmpenho($_POST['notaEmpenho']);
		}
    
    	$res = '';    	
    	
            for ($i = 0; $i < sizeof($reservas); $i++) {
                if (isset($_POST['check' . $i])) {
                    $cb[$i] = $_POST['check' . $i];
                } else {
                    $cb[$i] = 'null';
            }
             
              
            if ($cb[$i] != 'null') {

                $reservaId = $_POST['reservaId' . $i];
                $res = $empenho->Excluir($cb[$i]);
                $r = new Reserva();
                $reserva = $r->CarregarReserva($reservaId);
                $reserva->situacao = "R";
                $reserva->AlterarReserva();
                if ($res == false) {
                    break;
                }
            }
        }
			            
		
    	

    	if( $res ) # caso a opera��o de inser��o no banco seja efetuada com sucesso entra aqui
    	{
    		$titleHtml = "SAEO - Empenho Excluído com Sucesso";
    		$cabecalhoHtml = "EMPENHO EXCLUÍDO COM SUCESSO";
    		$informacaoHtml = "Sucesso na exclus&atilde;o do empenho.";
    	}
    	else # tratar falhas na inser��o aqui
    	{
    		$titleHtml = "SAEO - Problema na exclus&atilde;o da Empenho";
    		$cabecalhoHtml = "FALHA NA EXCLUS&Atilde;O DA EMPENHO";
    		$informacaoHtml = "Problema na exclus&atilde;o da Empenho: ".mysql_error()."
                 <br>Por favor tente mais tarde!";
    	}
    }
    else if( $_GET['operacao'] == 4 ) //reforço
    {
    	$tabela = 0;								
    	while(isset($_POST["valor-$tabela"]))
    	{
    		 	
    			$valorReforço = $_POST["valor-$tabela"];
    			$descricao = $_POST["descricao-$tabela"];
    			$empenhoId = $_POST["empenhoId$tabela"];
    			$valor = TirarFormatacaoValor($valorReforço);
    			
    			$empenho = new Empenho();    			
    			$resultadoSql = $empenho->ReforcarEmpenho( $empenhoId, $valor, $descricao );    		
    			$campo++;    			
    		
    		$tabela++;
    		
    	}
    	if( $resultadoSql ) # caso a opera��o de inser��o no banco seja efetuada com sucesso entra aqui
    	{
    		$titleHtml = "SAEO - Refor&ccedil;o Cadastrado com Sucesso";
    		$cabecalhoHtml = "REFOR&Ccedil;O CADASTRADO COM SUCESSO";
    		$informacaoHtml = "Sucesso no cadastro do refor&ccedil;o.";
    	}
    	else # tratar falhas na inser��o aqui
    	{
    		$titleHtml = "SAEO - Problema no cadastro do refor&ccedil;o";
    		$cabecalhoHtml = "FALHA NO CADASTRO DA REFOR&Ccedil;O";
    		$informacaoHtml = "Problema no cadastro da refor&ccedil;o: ".mysql_error()."
                 <br>Por favor tente mais tarde!";
    	}
    }

    else if( $_GET['operacao'] == 5 ) //anulacao
    {
    	$tabela = 0;
		$campo = 0;						
    	while(isset($_POST["valor-$tabela"]))
    	{
    		
    	
    			$valorReforço = $_POST["valor-$tabela"];
    			$descricao = $_POST["descricao-$tabela"];
    			$empenhoId = $_POST["empenhoId$tabela"];
    			$tipoAnulacao = $_POST["tipoAnulacao$tabela"];
    			$valor = TirarFormatacaoValor($valorReforço);
    			
    			$empenho = new Empenho();    			
    			$resultadoSql = $empenho->AnulacaoEmpenho( $empenhoId,$tipoAnulacao, $valor, $descricao );    			
    			$e = $empenho->CarregarEmpenhoPorId($empenhoId);
    			if($tipoAnulacao == "AP")
    			{
    				$e->situacao = "AP";
    			}else{
    				$e->situacao = "AT";
    			}
				$e->Alterar();    	   		
    			$campo++;
    			
    	
    		$tabela++;
    		    		
    	}
    	if( $resultadoSql ) # caso a opera��o de inser��o no banco seja efetuada com sucesso entra aqui
    	{
    		$titleHtml = "SAEO - Anula&ccedil;&atilde;o Cadastrada com Sucesso";
    		$cabecalhoHtml = "ANULA&Ccedil;&Atilde;O CADASTRADA COM SUCESSO";
    		$informacaoHtml = "Sucesso no cadastro da Anula&ccedil;&atilde;o.";
    	}
    	else # tratar falhas na inser��o aqui
    	{
    		$titleHtml = "SAEO - Problema no cadastro do refor&ccedil;o";
    		$cabecalhoHtml = "FALHA NO CADASTRO DA REFOR&Ccedil;O";
    		$informacaoHtml = "Problema no cadastro da refor&ccedil;o: ".mysql_error()."
                 <br>Por favor tente mais tarde!";
    	}
    }
    
}
?>

<html>
           <head>
           <title><?php echo $titleHtml ?></title>
           <link rel='stylesheet' type='text/css' href='templates/estilos.css'>
           </head>
     <body class='body'>
     <table width='779' border='0' cellspacing='0' cellpadding='0' align='center' bgcolor='#FFFFFF'>
            <tr>
                	<td colspan='2'><?php include "Topo.php"; ?></td>
            </tr>
            <tr>
                <td><div class='titulosTabelas' style='width:779; height:20; background:url(templates/tabela.jpg)'><?php echo $cabecalhoHtml ?> </div></td>
            </tr>
            <tr>
                <td colspan='2'>&nbsp;</td>
            </tr>
            <tr>
                <td><table class='tabela' width='495' border='0' cellspacing='0' cellpadding='0' align='center' bgcolor='#FFFFFF'>
                           <tr>
                               <td>&nbsp;</td>
                           </tr>
                           <tr>
                               <td class='textoTabelas' align='center'><?php echo $informacaoHtml ?></td>
                           </tr>
                           <tr>
                               <td>&nbsp;</td>
                           </tr>
                     </table>
                </td>
            </tr>
            <tr>
                <td>&nbsp;</td>
            </tr>
            <tfoot>
           <tr>
                <td colspan='2'>&nbsp;</td>
            </tr>
                   <tr>
                   		<?php include 'rodapeCreditos.php'; ?>
                   </tr>
            </tfoot>
     </table>
     </form>
     </body>
     </html>